/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
package {
import flash.display.MovieClip; public class Test extends MovieClip {}
}

import com.adobe.test.Assert;


/**
 * Scenario:
 * 1) Master string has 954 characters, 16 bits
 * 2) Substring has 318 characters starting at index 318
 * 3) Concatenation of that substring and a single 16-bit char
 *    ends up inside the master at index 636.
 */

var s16a:String = "����������������������������������������������������������������������������������������������������"
                + "����������������������������������������������������������������������������������������������������"
                + "����������������������������������������������������������������������������������������������������"
                + "����������������������������������������������������������������������������������������������������"
                + "����������������������������������������������������������������������������������������������������"
                + "����������������������������������������������������������������������������������������������������"
                + "����������������������������������������������������������������������������������������������������"
                + "����������������������������������������������������������������������������������������������������"
                + "����������������������������������������������������������������������������������������������������"
                + "������������������������������������������������������";

var s16b:String = "�";
var substr:String = s16a.substr (318, 318);

var exp1:String = "����������������������������������������������������������������������������������������������������"
                + "����������������������������������������������������������������������������������������������������"
                + "����������������������������������������������������������������������������������������������������"
                + "�������������������";

var exp2:String = "����������������������������������������������������������������������������������������������������"
                + "����������������������������������������������������������������������������������������������������"
                + "����������������������������������������������������������������������������������������������������"
                + "����������������������������������������������������������������������������������������������������"
                + "����������������������������������������������������������������������������������������������������"
                + "����������������������������������������������������������������������������������������������������"
                + "����������������������������������������������������������������������������������������������������"
                + "����������������������������������������������������������������������������������������������������"
                + "����������������������������������������������������������������������������������������������������"
                + "������������������������������������������������������";

Assert.expectEq("substr + s16b", exp1, substr + s16b);
Assert.expectEq("s16a", exp2, s16a);

